package com.lnsoft.util;

/**
 * 
 * @author ChongQiang,Wang
 *
 * 19:38 2011-11-19
 * 
 * 常用工具类
 * 	1.转码
 *  2.过滤单引号
 */
public class CharSetUtil {
	
	public static String changeCharSet(String str){
		if(str == null) return null;
		return changeCharSet(str,"ISO-8859-1","UTF-8");
		
	}
	
	/**
	 * 编码转换方法
	 * 
	 * @param str 要转换的字符串
	 * @param oldCharSet
	 * @param newCharSet
	 * @return	转码后的字符串 
	 *  如果输入的编码格式不存在，抛出异常
	 */
	public static String changeCharSet(String str,String oldCharSet,String newCharSet){
		try{
			return new String(str.getBytes(oldCharSet),newCharSet);
		}catch(Exception e){
			throw new RuntimeException("转换字符编码错误");
		}
	}
	
	/**
	 * 过滤SQL语句
	 * 此方只是调用有具体功能的过滤方法， 包含目前已有的(如过滤单引号)及 将要开发的 方法
	 * 也可以依次调用 原方法
	 */
	public static String filter(String str){
		str = filterQuote(str);
		return str;
	}
	
	
	/**
	 *  过滤单引号 
	 *  把一个单引号 转成 两个 单引号
	 */
	public static String filterQuote(String str){
		return str==null?null:str.replaceAll("'", "''");
	}
	
	//如果字符串是null，则处理成空字符串
	public static String disposeNull(Object o){
		return o == null || o.toString().trim().equals("")?"&nbsp;":o.toString();
	}
}
